import java.util.Scanner;

public class Solution {
    public int maxArea(int[] height){
        int left = 0;
        int right = height.length-1;
        int container = 0;//初始容器的体积

//容器体积的计算，Volume = height * width。
//假设右指针不动，左指针开始从左向右移动，此时width减小。
//如果左指针指向的元素比左边界大，则height不变；反之，height减小。

        while(left < right){//当左右指针重合时，循环结束
            int volume = Math.min(height[left],height[right]) * (right - left);
            container = Math.max(container,volume);//如果算出来的体积增大了，就更新container的值
            if(height[left] < height[right]){
                left++;
            }else {
                right--;
            }
//利用双指针从左右两个边界遍历一次数组，时间复杂度为O(n)；
//只创建了几个有限的变量，空间复杂度为O(1)。
        }
        return container;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNextInt()){
            int size = in.nextInt();
            int[] array = new int[size];
            for (int i = 0; i < array.length; i++) {
                array[i] = in.nextInt();
            }
            Solution solution = new Solution();
            int result = solution.maxArea(array);
            System.out.println(result);
        }
    }
}
